package cn.infinite.security.core;

import org.springframework.security.core.userdetails.UserDetails;

import java.util.Optional;

/**
 * 微信授权 根据openId查询用户接口
 * 用户代码实现
 */
public interface WxUserService {

    /**
     * 根据openId 获取用户详情
     * @param openId
     * @return
     * @throws Exception
     */
    Optional<UserDetails> findUserDetailByOpenId(String openId) throws Exception;

    /**
     * 自动注册，传入openId，以及获取到的微信用户的信息
     *
     * @param openId
     * @param jsonObject 用户信息
     * @return
     * @throws Exception
     */
    UserDetails registerUserByOpenId(String openId, String jsonObject) throws Exception;
}
